数学Java把负数变成1,把正数变成1 1 年,10 月 Questions & Answers 52 我见过其他类似的帖子,但在java中没有。我想把一个负双精度,比如-6.9,转换成-1.0,或者如果是4.2,转换成1.0。我可以用一堆if语句来实现,但我想用一种更简洁的方式
# 1 楼答案 这正是java.util.Math的^{}方法所做的。请注意,它返回一个double,因此您可能希望将其转换为int: int result = (int) Math.signum(someNumber); 编辑: 问题的主体和标题稍微相互矛盾,在重新阅读问题之后,我不确定你是想得到int的1/-1还是double的1.0/-1.0。 如果是前者,上面的答案应该可以。如果是后者,则应该删除对int的显式强制转换,只使用signum的返回值: double result = Math.signum(someNumber);
# 1 楼答案
这正是} 方法所做的。请注意,它返回一个
java.util.Math
的^{double
,因此您可能希望将其转换为int
:编辑:
问题的主体和标题稍微相互矛盾,在重新阅读问题之后,我不确定你是想得到
int
的1
/-1
还是double
的1.0
/-1.0
。 如果是前者,上面的答案应该可以。如果是后者,则应该删除对int
的显式强制转换,只使用signum
的返回值: